In any business, transactions occur that must be posted to accounts for financial reporting and other purposes. In a brokerage business, a stock record must also be maintained showing positions in stocks and other securities, both in terms of ownership (long) and location (short) of the represented shares. For a variety of accounting purposes, as well as to support ad-hoc queries, the accounting system must be able to provide net balance and position information for a given account.
In many cases, transactions are posted either in advance of or after the date in which they take effect (i.e., forward-dated and back-dated transactions). The accounting system should be able to answer questions of the form “What was the balance/position in account XYZ on date mm/dd/yyyy?” The query can be posed either as an “As-On” query, in which case back-dated transactions posted after mm/dd/yyyy should be ignored, or as an “As-Of” query in which case those back-dated journals should be considered. For a large brokerage operation, the number balances and positions to be tracked can be very large, with a large volume of transactions processed each day.
Current schemes for processing transactions involve inefficient operations and require a vast amount of storage capacity. For instance, data records are maintained for all days of a retention schedule, including those days on which no activity occurs. At the beginning of each new day, all data contained in the data records for the previous day is copied and carried forward into identical data records for the new day. The processing of forward-dated and back-dated transactions involves updating data records for all intervening dates. Performing these operations on a large scale is very costly to a business.
Accordingly, systems and methods for organizing and operating on data representing account balances and securities positions are needed in a way that is capable of scaling and efficiently processes transactions.